{
	/**
	 * ts的 类的一些修饰符和java和c#是一致的
	 *
	 *  修饰符不仅可以修饰类的属性 类的方法也是一样可以修饰的
	 *
	 *  不写修饰符的情况下 默认都是 public 公开的 (自身，继承，实例都可以访问)
	 *
	 *  protected 受保护的  只有在类内部可以访问（自身，继承）  实例是不能够访问到这个属性或者方法的
	 *
	 */

	class Person {
		name: string
		protected age: number
		show(): string {
			return `${this.name}的年龄是${this.age}`
		}
	}

	class User extends Person {
		constructor(a: string, b: number) {
			super()
			this.name = a
			this.age = b
		}
	}

	let jimmy = new User('jimmy', 22)
	let xuexue = new User('xuexue', 22)

	console.log(jimmy.name)
	// console.log(jimmy.age) 报错
	jimmy.show()

	let couple: User[] = [jimmy, xuexue]
}
